home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_09_04
/
9n04018a
< prev
next >
Wrap
Text File
|
1991-03-19
|
1KB
|
50 lines
/* _Setloc function */
#include <ctype.h>
#include <limits.h>
#include <locale.h>
#include <stdlib.h>
#include <string.h>
/* set category for locale */
struct lconv *_Setloc(int cat, struct lconv *p)
{
switch (cat)
{ /* set a category */
case LC_COLLATE:
break;
case LC_CTYPE:
_Ctype = p->_Ctype;
_Tolower = p->_Tolower;
_Toupper = p->_Toupper;
break;
case LC_MONETARY:
_Locale.currency_symbol = p->currency_symbol;
_Locale.int_curr_symbol = p->int_curr_symbol;
_Locale.mon_decimal_point = p->mon_decimal_point;
_Locale.mon_grouping = p->mon_grouping;
_Locale.mon_thousands_sep = p->mon_thousands_sep;
_Locale.negative_sign = p->negative_sign;
_Locale.positive_sign = p->positive_sign;
_Locale.frac_digits = p->frac_digits;
_Locale.int_frac_digits = p->int_frac_digits;
_Locale.n_cs_precedes = p->n_cs_precedes;
_Locale.n_sep_by_space = p->n_sep_by_space;
_Locale.n_sign_posn = p->n_sign_posn;
_Locale.p_cs_precedes = p->p_cs_precedes;
_Locale.p_sep_by_space = p->p_sep_by_space;
_Locale.p_sign_posn = p->p_sign_posn;
break;
case LC_NUMERIC:
_Locale.decimal_point = p->decimal_point[0] != '\0'
? p->decimal_point : ".";
_Locale.grouping = p->grouping;
_Locale.thousands_sep = p->thousands_sep;
break;
case LC_TIME:
break;
}
return (p);
}